import Vue from 'vue'
import App from './App'

// import './common/requset.js'

// 按需导入 $http 请求包对象
import { $http } from '@escook/request-miniprogram'

//  导入 store 的实例对象
import store from './store/store.js'

// 在 uni-app 项目中，可以把 $http 挂载到 uni 顶级对象之上，方便全局调用
uni.$http = $http

// 配置请求根路径 
$http.baseUrl = 'https://api-hmugo-web.itheima.net/api/public/v1'
// $http.baseUrl = 'https://uinav.com/api/public/v1'

// 请求开始之前  请求拦截器
$http.beforeRequest = function (options) {
  uni.showLoading({ // 显示loading效果
    title: '数据加载中...',
  })
  // 判断请求的是否为有权限的 API 接口
  if (options.url.indexOf('/my/') !== -1) {
    // 为请求头添加身份认证字段
    options.header = {
      // 字段的值可以直接从 vuex 中进行获取
      Authorization: store.state.m_user.token,
    }
  }
}

// 请求完成之后 响应拦截器  
$http.afterRequest = function () {
  uni.hideLoading() // 关闭loading效果
}

// 封装公共提示方法
uni.$showMsg = function(title="数据加载失败！", duration = 1500) {
  uni.showToast({
    title: title,
    duration: duration,
    icon: "none"
  })
}


// vue配置
Vue.config.productionTip = false

// 小程序全局对象
App.mpType = 'app'

// uni app 实例
const app = new Vue({
    ...App,
    store // 将 store 挂载到 Vue 实例上
})
app.$mount()
